package com.jctrip.hotel.source.model.meituan.req;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

/**
 * @Author: zxy
 * @CreateTime: 2023-12-25 15:27
 * @Description:
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MeituanReq {
    /**
     * 【必填】接口名称，例如：hotel.poi.list （此处仅作举例，具体参数名称需参考当前文档内容）
     */
    private String method;

    /**
     * 【必填】分销平台API版本号；版本号可根据公共参数中请求地址区分：1.0： https://fenxiao.meituan.com/opdtor/api；2.0：https://fenxiao.meituan.com/opdtor/api/v2
     */
    private String version;

    /**
     * 【必填】10位时间戳。若请求发起时间与平台服务端接受请求的时间相差超过10分钟，平台将直接拒绝本次请求
     */
    private Long timestamp;

    /**
     * 【必填】随机正整数。与timestamp联合使用以防止重放攻击
     */
    private Integer nonce;

    /**
     * 【必填】平台分配给分销商的分销业务ID
     */
    private Integer partnerId;

    /**
     * 【必填】平台分配给分销商的安全凭证公钥。注意：联调或测试调用接口时，使用测试账号的accesskey。
     */
    private String accesskey;

    /**
     * 【必填】用于验证此次请求合法性的签名
     */
    private String signature;

    /**
     * 【必填】测试标记，值为test。注意：联调或测试调用接口时，使用测试账号，且必传该字段。正式调用接口时，使用正式账号，且不允许传该字段。
     */
    private String test;

    /**
     * 【必填】（此参数仅适用于v2.0接口）说明：从首次 API 调用开始，为每个用户会话插入您自己的唯一值。在用户会话期间为连续多个 API 调用传递相同的值，为每个新客户会话使用新的值。
     */
    private String customerSessionId;

    /**
     * 【必填】（此参数仅适用于v2.0接口）说明：zh_CN。必须为zh_CN。
     */
    private String language;

    /**
     * 【非必填】业务请求参数字段，值为业务请求参数，例如'查询酒店id列表(hotel.poi.list)接口的data为"data" : "{"maxId":0,"pageSize":2}"。API参数共由两部分组成, 公共请求参数和业务请求参数，公共请求参数指所有提供的API所必须的参数, 业务请求参数是指对应API所需的参数。
     */
    private String data;
}
